/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package wasolicitudesfiec.consultas;
import java.sql.Connection;
import entidad.Profesor;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Vector;
/**
 *
 * @author kabad
 */
public class ConsultasProfesor{
private Connection con;

public void setConexion(Connection con) {
this.con=con;
}

public Profesor HLleerProfesorPorUsuario(Profesor val) throws SQLException{
return leerProfesorPorUsuario(val.getIdProfesor(), val.getPersona().getUsuario());
}

public Profesor nuevoProfesor() throws SQLException{
Profesor reg=new Profesor();

PreparedStatement proc=con.prepareStatement(
"call nuevoProfesor() ");
ResultSet rs=proc.executeQuery();
if (rs.next()) {
reg.setIdProfesor(rs.getInt(1));
}else reg=null;
return reg;


}

public Profesor HLnuevoProfesor(Profesor val) throws SQLException{
return nuevoProfesor();
}

public Profesor leerProfesor(int idProfesor) throws SQLException{
Profesor reg=new Profesor();

PreparedStatement proc=con.prepareStatement(
"call leerProfesor(?) ");
proc.setInt(1, idProfesor);
ResultSet rs=proc.executeQuery();
if (rs.next()) {
reg.setIdProfesor(rs.getInt(1));
}else reg=null;
return reg;


}

public Profesor HLleerProfesor(Profesor val) throws SQLException{
return leerProfesor(val.getIdProfesor());
}

public Vector<Profesor> leerVariosProfesor() throws SQLException{
Vector<Profesor> datos=new Vector<Profesor>();
Profesor reg;

PreparedStatement proc=con.prepareStatement(
"call leerVariosProfesor() ");
ResultSet rs=proc.executeQuery();
while (rs.next()) {
reg = new Profesor();
reg.setIdProfesor(rs.getInt(1));
datos.add(reg);
}//end while
return datos;


}

public Vector<Profesor> HLleerVariosProfesor(Profesor val) throws SQLException{
return leerVariosProfesor();
}

public boolean modificarProfesor(int idProfesor) throws SQLException{
boolean exitoOperacion = true;

PreparedStatement proc=con.prepareStatement(
"call modificarProfesor(?) ");
proc.setInt(1, idProfesor);
proc.execute();
return exitoOperacion;


}

public boolean HLmodificarProfesor(Profesor val) throws SQLException{
return modificarProfesor(val.getIdProfesor());
}

public boolean eliminarProfesor(int idProfesor) throws SQLException{
boolean exitoOperacion = true;

PreparedStatement proc=con.prepareStatement(
"call eliminarProfesor(?) ");
proc.setInt(1, idProfesor);
proc.execute();
return exitoOperacion;


}

public boolean HLeliminarProfesor(Profesor val) throws SQLException{
return eliminarProfesor(val.getIdProfesor());
}

public Profesor leerProfesorPorUsuario(int idProfesor, String usuario) throws SQLException{
Profesor reg=new Profesor();

PreparedStatement proc=con.prepareStatement(
"call leerProfesorPorUsuario(?,?) ");
proc.setInt(1, idProfesor);
proc.setString(2, usuario);
ResultSet rs=proc.executeQuery();
if (rs.next()) {
reg.setIdProfesor(rs.getInt(1));
}else reg=null;
return reg;


}


}// FIN CLASE: ConsultasProfesor
